package org.ioc.com.book6.controller;


import jakarta.servlet.http.HttpSession;
import org.ioc.com.book6.model.UserInfo;
import org.ioc.com.book6.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.ioc.com.book6.constant.Constants;
@RestController
@RequestMapping("/user")
public class UserInfoController {
    /*
    用户登录
    1.首先判断输入的值是否为空
    2.通过用户名来查询数据库,看用户是否存在
    3.如果用户存在,通过用户名拿到数据库存储的密码和传入的密码进行对比
    4.设置session,为后续验证登录做准备
     */
    @Autowired
    private UserInfoService userInfoService;
    @RequestMapping("/login")
    public String userLogin(String userName, String password, HttpSession session){
        //  1.首先判断输入的值是否为空
        if (!StringUtils.hasLength(userName)||!StringUtils.hasLength(password)){
            return "用户名或密码为空";
        }
        //  2.通过用户名来查询数据库,看用户是否存在
        UserInfo userInfo = userInfoService.selectByName(userName);
        if (userInfo==null){
            return "用户不存在";
        }
        //  3.如果用户存在,通过用户名拿到数据库存储的密码和传入的密码进行对比
        if (!password.equals(userInfo.getPassword())){
            return "密码错误,请重新输入";
        }
        //4.排除上面之后,最后剩下登录成功,返回空字符串,并且设置session
        session.setAttribute(Constants.USER_SESSION_KEY,userInfo);
        return "";
    }
}
